package com.singbon.config;
import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
/**
 **/
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableOAuth2Sso
public class ClientWebSecurityConfigurer extends WebSecurityConfigurerAdapter {
  /**
   * //    // region 资源路径
   * //    "/static/**",
   * //    //
   * //    "static/**",
   * //    //
   * //    "static/img/gif/**",
   * //    //
   * //    "static/img/**",
   * //    //
   * //    "/static/img/ok.png",
   * //    //
   * //    "static/img/ok.png",
   * //    //
   * //    "webapp/**",
   * //    //
   * //    "/webapp/**",
   * //    //
   * //    "/favicon.ico",
   * //    //
   * //    "favicon.ico",
   * //    //
   * //    "/css/**",
   * //    //
   * //    "/monitor/**"
   * //    // endregion 资源路径
   */
  private static final String[] RESOURCES = new String[]{
    // region 资源路径
    "/static/**",
    //
    "/webapp/**",
    //
    "/netInterface/**"
    // endregion 资源路径
  };
  @Override
  public void configure(HttpSecurity http) throws Exception {
    // .antMatcher("/**")
    http
      //
      .authorizeRequests()
      //
      .antMatchers(RESOURCES).permitAll()
      //
      .anyRequest().authenticated();
    http.csrf().disable();
  }
  @Override
  public void configure(WebSecurity web) {
    web.ignoring().antMatchers(RESOURCES);
  }
}

